package com.only4play.practice.report.core.component;

import com.only4play.codegen.support.exception.BusinessException;
import com.only4play.codegen.support.model.JsonObject;
import com.only4play.practice.report.core.model.ReportCodeEnum;
import com.only4play.practice.report.core.model.UploadCarInParam;

/**
 * @author mdy
 * * @date 2024/10/21
 */
public interface UploadInterface {

    /**
     * 开启上报
     */
    default JsonObject<Object> enableReport(Integer reportPlatformType) {
        throw new BusinessException(ReportCodeEnum.BusinessError);
    }

    default JsonObject<Object> disableReport(Integer reportConfigId) {
        throw new BusinessException(ReportCodeEnum.BusinessError);
    }

    // 车辆进场上报
    default JsonObject<Object> carInReport(UploadCarInParam param) {
        throw new BusinessException(ReportCodeEnum.BusinessError);
    }

    default JsonObject<Object> carOutReport(Integer reportConfigId) {
        throw new BusinessException(ReportCodeEnum.BusinessError);
    }

    // 停车场信息、心跳上报
    default JsonObject<Object> parkInfoReport(Integer reportConfigId) {
        throw new BusinessException(ReportCodeEnum.BusinessError);
    }

}
